/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package multiface.web.util.categories;

import java.util.LinkedList;
import java.util.List;
import multiface.awwadco.jpa.Categoria;

/**
 *
 * @author Diego64
 */
public class AlberoCategorieNode implements AlberoCategorieNodeInterface {

    private Categoria categoria;
    private List<AlberoCategorieNode> figli;
    private AlberoCategorieNode padre;
    private int level;

    public AlberoCategorieNode() {
        this.figli = new LinkedList<AlberoCategorieNode>();
        this.categoria = new Categoria(-1, "root", -1, -1, true);
        this.level = -1;
        this.padre = null;
    }

    public AlberoCategorieNode(Categoria categoria) {
        this.figli = new LinkedList<AlberoCategorieNode>();
        this.categoria = categoria;
        this.level = categoria.getSopracategoria();
    }

    @Override
    public List<AlberoCategorieNode> getFigli() {
        return this.figli;
    }

    @Override
    public AlberoCategorieNode getPadre() {
        return this.padre;
    }

    @Override
    public AlberoCategorieNode prossimoFiglio() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    /**
     * @return the level
     */
    public int getLevel() {
        return level;
    }

    /**
     * @param level the level to set
     */
    public void setLevel(int level) {
        this.level = level;
    }

    /**
     * @return the categoria
     */
    public Categoria getCategoria() {
        return categoria;
    }

    /**
     * @param categoria the categoria to set
     */
    public void setCategoria(Categoria categoria) {
        this.categoria = categoria;
    }

    /**
     * @param padre the padre to set
     */
    public void setPadre(AlberoCategorieNode padre) {
        this.padre = padre;
    }
}
